Composable Multi-Threading for Python Libraries
نویسنده
چکیده
Python is popular among numeric communities that value it for easy to use number crunching modules like [NumPy], [SciPy], [Dask], [Numba], and many others. These modules often use multi-threading for efficient multi-core parallelism in order to utilize all the available CPU cores. Nevertheless, their threads can interfere with each other leading to overhead and inefficiency if used together in one application. The loss of performance can be prevented if all the multi-threaded parties are coordinated. This paper describes usage of Intel® Threading Building Blocks (Intel® TBB), an open-source cross-platform library for multi-core parallelism [TBB], as the composability layer for Python modules. It helps to unlock additional performance for numeric applications on multi-core
منابع مشابه
State of the Art of Soap Libraries in Python and Ruby
Web services are gaining more and more attention in the business field and in the academic research. Simple Object Access Protocol (SOAP) is the standard messaging format for Web services. The single services are described in Web Services Description Language (WSDL). More recently, the REST architecture specified by Roy T. Fielding has received more attention in creating better Web services. Th...
متن کاملAn Efficient Threading Model to Boost Server Performance
Multi-threading remains a popular choice for server architecture. Widely used applications like the Apache web server, and the MySQL database server are written in a multi-threaded fashion. We consider thread architectures from two angles: (1) number of user threads per kernel thread, and (2) use of synchronous I/O vs. asynchronous I/O, and consider their effects on server performance. Our clai...
متن کاملMulti-Threading Performance on Commodity Multi-Core Processors
Multi-core processors based commodity servers recently become building blocks for high performance computing Linux clusters. The multi-core processors deliver better performance-to-cost ratios relative to their single-core predecessors through on-chip multi-threading. However, they present challenges in developing high performance multi-threaded code. In this paper we study the performance of d...
متن کاملLarge-scale automated image analysis for computational profiling of brain tissue surrounding implanted neuroprosthetic devices using Python
In this article, we describe the use of Python for large-scale automated server-based bio-image analysis in FARSIGHT, a free and open-source toolkit of image analysis methods for quantitative studies of complex and dynamic tissue microenvironments imaged by modern optical microscopes, including confocal, multi-spectral, multi-photon, and time-lapse systems. The core FARSIGHT modules for image s...
متن کاملPyMOOSE: Interoperable Scripting in Python for MOOSE
Python is emerging as a common scripting language for simulators. This opens up many possibilities for interoperability in the form of analysis, interfaces, and communications between simulators. We report the integration of Python scripting with the Multi-scale Object Oriented Simulation Environment (MOOSE). MOOSE is a general-purpose simulation system for compartmental neuronal models and for...
متن کامل